package com.vcg.filter.beans;

import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBAttribute;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBHashKey;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBRangeKey;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBTable;

import java.io.Serializable;

/**
 * @author felayman
 * @since 16/1/13
 */
@DynamoDBTable(tableName = "vcg-activity-slave-filtered-test")
public class BaseEntity implements Serializable {

    private static final long serialVersionUID = 3747964906093931130L;

    private String mainTypeId;

    private String relatedTypeId;

    private String eventDate;

    private String eventDateTime;

    private long eventTimestamp;

    private String ddbLastUpdatedDate;

    private boolean isDeleted;

    private String itemId;

    private String itemType;

    private String relatedId;

    private String relatedType;

    private String ownerId;

    private String ownerType;

    @DynamoDBHashKey(attributeName = "main_type-id")
    public String getMainTypeId() {
        return mainTypeId;
    }

    public void setMainTypeId(String mainTypeId) {
        this.mainTypeId = mainTypeId;
    }

    @DynamoDBRangeKey(attributeName = "related_type-id")
    public String getRelatedTypeId() {
        return relatedTypeId;
    }

    public void setRelatedTypeId(String relatedTypeId) {
        this.relatedTypeId = relatedTypeId;
    }

    @DynamoDBAttribute(attributeName = "event_date")
    public String getEventDate() {
        return eventDate;
    }

    public void setEventDate(String eventDate) {
        this.eventDate = eventDate;
    }

    @DynamoDBAttribute(attributeName = "event_date_time")
    public String getEventDateTime() {
        return eventDateTime;
    }

    public void setEventDateTime(String eventDateTime) {
        this.eventDateTime = eventDateTime;
    }

    @DynamoDBAttribute(attributeName = "event_timestamp")
    public long getEventTimestamp() {
        return eventTimestamp;
    }

    public void setEventTimestamp(long eventTimestamp) {
        this.eventTimestamp = eventTimestamp;
    }

    @DynamoDBAttribute(attributeName = "ddb_last_updated_date")
    public String getDdbLastUpdatedDate() {
        return ddbLastUpdatedDate;
    }

    public void setDdbLastUpdatedDate(String ddbLastUpdatedDate) {
        this.ddbLastUpdatedDate = ddbLastUpdatedDate;
    }

    @DynamoDBAttribute(attributeName = "is_deleted")
    public boolean getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(boolean isDeleted) {
        this.isDeleted = isDeleted;
    }

    @DynamoDBAttribute(attributeName = "item_id")
    public String getItemId() {
        return itemId;
    }

    public void setItemId(String itemId) {
        this.itemId = itemId;
    }

    @DynamoDBAttribute(attributeName = "item_type")
    public String getItemType() {
        return itemType;
    }

    public void setItemType(String itemType) {
        this.itemType = itemType;
    }

    @DynamoDBAttribute(attributeName = "related_id")
    public String getRelatedId() {
        return relatedId;
    }

    public void setRelatedId(String relatedId) {
        this.relatedId = relatedId;
    }

    @DynamoDBAttribute(attributeName = "related_type")
    public String getRelatedType() {
        return relatedType;
    }

    public void setRelatedType(String relatedType) {
        this.relatedType = relatedType;
    }

    @DynamoDBAttribute(attributeName = "owner_id")
    public String getOwnerId() {
        return ownerId;
    }

    public void setOwnerId(String ownerId) {
        this.ownerId = ownerId;
    }

    @DynamoDBAttribute(attributeName = "owner_type")
    public String getOwnerType() {
        return ownerType;
    }

    public void setOwnerType(String ownerType) {
        this.ownerType = ownerType;
    }
}
